var createError = require('http-errors')
var express = require('express')
var path = require('path')
var cookieParser = require('cookie-parser')
var logger = require('morgan')
// session模块
const session = require('express-session')
// 上传模块
const multer = require('multer')

// 默认首页路由
var indexRouter = require('./routes/index')
// 管理后台路由
var adminRouter = require('./routes/admin/adminRouter')
// 登录路由
var loginRouter = require('./routes/login/loginRouter')
// 前台手机端路由
var mobileRouter = require('./routes/mobile/mobileRouter')

// 统一参数
// const { getInfoOptions } = require('./module/canshu')

var app = express()

// 公开路径
app.use('/public/', express.static('./public'))

// 配置session
app.use(
  session({
    secret: 'chuangqianmingyueguang', // 加盐（添加额外的字符混淆加密结果）
    cookie: {
      // session 是 cookie 的一种，可以配置 cookie 相关的属性
    },
    resave: true, // 是否强制保存session
    saveUninitialized: true, // 是否保存初始化的session
  })
)
// 配置上传对象
// const upload = multer({ dest: './public/upload' })

// view engine setup
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')

app.use(logger('dev'))
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
app.use(cookieParser())
// 公开public路径
app.use(express.static(path.join(__dirname, 'public')))

// 默认首页路由
app.use('/', indexRouter)
// 前台手机端路由
app.use('/mobile', mobileRouter)
// 后台路由
app.use('/admin', adminRouter)
// 登录注册路由
app.use('/rl', loginRouter)

// catch 404 and forward to error handler
app.use(function (req, res, next) {
  next(createError(404))
})

// error handler
app.use(function (err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message
  res.locals.error = req.app.get('env') === 'development' ? err : {}

  console.log(err)

  // render the error page
  res.status(err.status || 500)
  res.render('info/info.ejs', {
    title: '404',
    content: '该页面不存在',
    hrefUrl: '/',
    hrefTitle: '返回首页',
    info: err,
  })

  // res.render(
  //   'info/info.ejs',
  //   getInfoOptions({
  //     title: '404',
  //     content: '该页面不存在',
  //     hrefUrl: '/',
  //     hrefTitle: '返回首页',
  //   })
  // )
})

module.exports = app
